package admin

import (
	"github.com/kataras/iris/v12"
	"huanteng/vendors/paginate"
	"huanteng/web/helpers"
	"huanteng/web/services"
)

type AdminsController struct {
	Service *services.AdminService
}

// @Summary 创建管理员
// @title 翟玉进
// @Description 创建管理员,需要注意的是哈哈
// @Tags 管理员管理
// @Accept json
// @Produce  json
// @Param name body string true "用户名"
// @Param pwd body string true "密码"
// @Success 0 {string} json "{"code":0,"data":"name","msg":"success"}"
// @Router /admin/admin [Post]
func (a *AdminsController) Post(ctx iris.Context) *helpers.Response  {
	m,err:=a.Service.Create(ctx)
	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}

	return helpers.SuccessData(m)
}
// @Summary 管理员列表
// @Description 管理员列表,需要注意的是和和
// @Tags 管理员管理
// @Accept json
// @Produce json
// @Param Authorization header string true "Authentication header"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/admin/ [get]
func (a *AdminsController) Get(ctx iris.Context)*helpers.Response  {
	//a.Service.
	//adminList:=[]models.Admin{}
	a.Service.AdminList(ctx)
	//fmt.Println()
	return helpers.SuccessData(paginate.Page)
	//return helpers.SuccessData(res)
}
// @Summary 管理员信息修改
// @Description 管理员信息修改,需要注意的是和和
// @Tags 管理员管理
// @Accept json
// @Produce json
// @Param Authorization header string true "Authentication header"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/admin [put]
func (a *AdminsController) Put(ctx iris.Context)*helpers.Response {
	err:=a.Service.Update(ctx)
	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}
	return helpers.SuccessMsg()
}

// @Summary 管理员删除
// @Description 管理员删除 [1,2,3]
// @Tags 管理员管理
// @Accept json
// @Produce json
// @Param Authorization header string true "Authentication header"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/admin [delete]
func (a *AdminsController) Delete(ctx iris.Context) *helpers.Response{
	err:=a.Service.Delete(ctx)
	if err!=nil{
		return helpers.FailedMsg(err.Error())
	}
	return helpers.SuccessMsg()
}
// @Summary 管理员查看
// @Description 管理员查看
// @Tags 管理员管理
// @Accept json
// @Produce json
// @Param Authorization header string true "Authentication header"
// @Success 200 {string} json "{"msg": "hello Kity"}"
// @Failure 400 {string} json "{"msg": "hello Kity"}"
// @Router /admin/admin/{id} [delete]
func (a *AdminsController) GetBy(id uint)*helpers.Response{
	data:=a.Service.GetById(id)
	return helpers.SuccessData(data)
}

func (a *AdminsController) GetRoleBy(id uint)*helpers.Response{
	data:=a.Service.GetRoleById(id)
	return helpers.SuccessData(data)
}


